﻿using mozhi.smarterp.AuthorCenter.Permissions.Groups;
using mozhi.smarterp.AuthorCenter.Users;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;

namespace mozhi.smarterp.AuthorCenter.Permissions.Items
{
    public interface IPermissionGroupAppService : IApplicationService
    {
        Task<PagedResultDto<PermissionGroupDto>> GetListAsync(PermissionGroupFilter filter);

        Task<PermissionGroupDto> GetAsync(Guid id);

        Task<List<PermissionGroupDto>> CreateAsync(List<PermissionGroupCreateDto> inputs);

        Task<List<PermissionGroupDto>> UpdateAsync(List<PermissionGroupUpdateDto> inputs);

        Task DeleteAsync(Guid id);


        Task<PermissionItemDto> GetItemAsync(Guid id);

        Task<PermissionItemDto> CreateItemAsync(PermissionItemCreateDto input);

        Task<PermissionItemDto> UpdateItemAsync(PermissionItemUpdateDto input);

        Task DeleteItemAsync(Guid id);
    }
}
